<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>dil.lexer.IdTable</title>
  <link href="./css/style.css" rel="stylesheet" type="text/css"/>
  <!-- <link href="./img/icon.png" rel="icon" type="image/png"/> -->
  <script type="text/javascript" src="./js/jquery.js"></script>
  <script type="text/javascript" src="./js/modules.js"></script>
  <script type="text/javascript" src="./js/quicksearch.js"></script>
  <script type="text/javascript" src="./js/navigation.js"></script>
  <!--<script type="text/javascript" src="./js/jquery.treeview.js"></script>-->
  <script type="text/javascript">
    var g_moduleFQN = "dil.lexer.IdTable";
  </script>
  
</head>
<body>
<div id="content">
  <h1><a href="./htmlsrc/dil.lexer.IdTable.html" class="symbol">dil.lexer.IdTable</a></h1>
  
<p class="sec_header">Author:</p>Aziz Köksal
<p class="sec_header">License:</p>GPL3
 <p><b>Maturity:</b> high.</p>
<dl>
<dt class="decl">struct <a class="symbol _struct" name="Ident" href="./htmlsrc/dil.lexer.IdTable.html#L15" kind="struct" beg="15" end="27">Ident</a>; <a title="Permalink to this symbol" href="#Ident" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L15">#</a></dt>
<dd class="ddef">
<div class="summary">A namespace for the predefined identifiers.</div>
<dl>
<dt class="decl">Identifier*[] <a class="symbol _function" name="Ident.allIds" href="./htmlsrc/dil.lexer.IdTable.html#L23" kind="function" beg="23" end="26">allIds</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#Ident.allIds" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L23">#</a></dt>
<dd class="ddef">
<div class="summary">Returns an array of all predefined identifiers.</div></dd></dl></dd>
<dt class="decl">struct <a class="symbol _struct" name="IdTable" href="./htmlsrc/dil.lexer.IdTable.html#L30" kind="struct" beg="30" end="174">IdTable</a>; <a title="Permalink to this symbol" href="#IdTable" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L30">#</a></dt>
<dd class="ddef">
<div class="summary">Global table for hoarding and retrieving identifiers.</div>
<dl>
<dt class="decl">Identifier*[string] <a class="symbol _variable" name="IdTable.staticTable" href="./htmlsrc/dil.lexer.IdTable.html#L34" kind="variable" beg="34" end="34">staticTable</a>; <span class="attrs">[<span class="prot">private</span>, <span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.staticTable" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L34">#</a></dt>
<dd class="ddef">
<div class="summary">A set of common, predefined identifiers for fast lookups.</div></dd>
<dt class="decl">Identifier*[string] <a class="symbol _variable" name="IdTable.growingTable" href="./htmlsrc/dil.lexer.IdTable.html#L36" kind="variable" beg="36" end="36">growingTable</a>; <span class="attrs">[<span class="prot">private</span>, <span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.growingTable" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L36">#</a></dt>
<dd class="ddef">
<div class="summary">A table that grows with every newly found, unique identifier.</div></dd>
<dt class="decl">static <a class="symbol _sctor" name="IdTable.this" href="./htmlsrc/dil.lexer.IdTable.html#L39" kind="sctor" beg="39" end="46">this</a>(); <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L39">#</a></dt>
<dd class="ddef">
<div class="summary">Loads keywords and predefined identifiers into the static table.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.lookup" href="./htmlsrc/dil.lexer.IdTable.html#L49" kind="function" beg="49" end="55">lookup</a><span class="params">(string <em>idString</em>)</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.lookup" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L49">#</a></dt>
<dd class="ddef">
<div class="summary">Looks up idString in both tables.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.inStatic" href="./htmlsrc/dil.lexer.IdTable.html#L58" kind="function" beg="58" end="62">inStatic</a><span class="params">(string <em>idString</em>)</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.inStatic" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L58">#</a></dt>
<dd class="ddef">
<div class="summary">Looks up idString in the static table.</div></dd>
<dt class="decl">alias Identifier* function(string idString) <a class="symbol _alias" name="IdTable.LookupFunction" href="./htmlsrc/dil.lexer.IdTable.html#L64" kind="alias" beg="64" end="64">LookupFunction</a>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.LookupFunction" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L64">#</a></dt>
<dd class="ddef"></dd>
<dt class="decl">LookupFunction <a class="symbol _variable" name="IdTable.inGrowing" href="./htmlsrc/dil.lexer.IdTable.html#L66" kind="variable" beg="66" end="66">inGrowing</a>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.inGrowing" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L66">#</a></dt>
<dd class="ddef">
<div class="summary">Looks up idString in the growing table.</div></dd>
<dt class="decl">void <a class="symbol _function" name="IdTable.setThreadsafe" href="./htmlsrc/dil.lexer.IdTable.html#L69" kind="function" beg="69" end="75">setThreadsafe</a><span class="params">(bool <em>b</em>)</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.setThreadsafe" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L69">#</a></dt>
<dd class="ddef">
<div class="summary">Sets the thread safety mode of the growing table.</div></dd>
<dt class="decl">bool <a class="symbol _function" name="IdTable.isThreadsafe" href="./htmlsrc/dil.lexer.IdTable.html#L78" kind="function" beg="78" end="81">isThreadsafe</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.isThreadsafe" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L78">#</a></dt>
<dd class="ddef">
<div class="summary">Returns true if access to the growing table is thread-safe.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable._inGrowing_unsafe" href="./htmlsrc/dil.lexer.IdTable.html#L86" kind="function" beg="86" end="97">_inGrowing_unsafe</a><span class="params">(string <em>idString</em>)</span>; <span class="attrs">[<span class="prot">private</span>, <span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable._inGrowing_unsafe" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L86">#</a></dt>
<dd class="ddef">
<div class="summary">Looks up idString in the table.</div>
Adds idString to the table if not found.</dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable._inGrowing_safe" href="./htmlsrc/dil.lexer.IdTable.html#L103" kind="function" beg="103" end="107">_inGrowing_safe</a><span class="params">(string <em>idString</em>)</span>; <span class="attrs">[<span class="prot">private</span>, <span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable._inGrowing_safe" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L103">#</a></dt>
<dd class="ddef">
<div class="summary">Looks up idString in the table.</div>
Adds idString to the table if not found.
 Access to the data structure is synchronized.</dd>
<dt class="decl">uint <a class="symbol _variable" name="IdTable.anonCount" href="./htmlsrc/dil.lexer.IdTable.html#L127" kind="variable" beg="127" end="127">anonCount</a>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.anonCount" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L127">#</a></dt>
<dd class="ddef">
<div class="summary">Counter for anonymous identifiers.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.genAnonymousID" href="./htmlsrc/dil.lexer.IdTable.html#L133" kind="function" beg="133" end="143">genAnonymousID</a><span class="params">(string <em>prefix</em>)</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.genAnonymousID" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L133">#</a></dt>
<dd class="ddef">
<div class="summary">Generates an anonymous identifier.</div>
Concatenates prefix with anonCount.
 The identifier is not inserted into the table.</dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.genAnonEnumID" href="./htmlsrc/dil.lexer.IdTable.html#L146" kind="function" beg="146" end="149">genAnonEnumID</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.genAnonEnumID" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L146">#</a></dt>
<dd class="ddef">
<div class="summary">Generates an identifier for an anonymous enum.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.genAnonClassID" href="./htmlsrc/dil.lexer.IdTable.html#L152" kind="function" beg="152" end="155">genAnonClassID</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.genAnonClassID" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L152">#</a></dt>
<dd class="ddef">
<div class="summary">Generates an identifier for an anonymous class.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.genAnonStructID" href="./htmlsrc/dil.lexer.IdTable.html#L158" kind="function" beg="158" end="161">genAnonStructID</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.genAnonStructID" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L158">#</a></dt>
<dd class="ddef">
<div class="summary">Generates an identifier for an anonymous struct.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.genAnonUnionID" href="./htmlsrc/dil.lexer.IdTable.html#L164" kind="function" beg="164" end="167">genAnonUnionID</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.genAnonUnionID" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L164">#</a></dt>
<dd class="ddef">
<div class="summary">Generates an identifier for an anonymous union.</div></dd>
<dt class="decl">Identifier* <a class="symbol _function" name="IdTable.genModuleID" href="./htmlsrc/dil.lexer.IdTable.html#L170" kind="function" beg="170" end="173">genModuleID</a><span class="params">()</span>; <span class="attrs">[<span class="stc">static</span>]</span> <a title="Permalink to this symbol" href="#IdTable.genModuleID" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L170">#</a></dt>
<dd class="ddef">
<div class="summary">Generates an identifier for a module which has got no valid name.</div></dd></dl></dd>
<dt class="decl"><a class="symbol _unittest" name="unittest" href="./htmlsrc/dil.lexer.IdTable.html#L176" kind="unittest" beg="176" end="186">unittest</a>; <a title="Permalink to this symbol" href="#unittest" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/dil.lexer.IdTable.html#L176">#</a></dt>
<dd class="ddef"></dd></dl>
</div>
<div id="footer">
  <p>Copyright © 2007-2008, Aziz Köksal. All rights reserved.</p>
  <p>Page generated by <a href="http://code.google.com/p/dil">dil</a> on Fri Dec 26 04:12:55 2008. Rendered by <a href="http://code.google.com/p/dil/wiki/Kandil">kandil</a>.</p>
</div>
</body>
</html>